The past decade has seen massive increases in the number of interconnected systems on the internet. Beneficiaries of this development include the scientific research community and businesses needing to model and analyze complex processes. Both types of users benefit from combining an application and relatively large amounts of data at one computational site. The data is usually stored in data repositories, such as file systems, databases, and so forth. These data repositories that hold an application's data are often located on different physical device(s) than the one hosting the application computation.
The computational device and the data repository devices may span a number of different locations with connectivity provided by standard networking technology. To perform the desired computation at a given site with a selected application, the targeted data is transferred from the data repositories storing the application's data to the computational site. Similarly, the results of the application's computation may be written back into one or more remote data repositories to ensure that the results are properly maintained and/or made available to other applications.